package com.ponhu.ea2.stockcenter.service.bms;

import com.ponhu.ea2.stockcenter.dto.OrderInfoDTO;
import com.ponhu.ea2.stockcenter.vo.*;

import java.util.List;

/**
 * 库存中心对接OMS系统接口
 */
public interface StockForOMSService {

    /**
     * 销售下单占用库存接口
     *
     * @param stockRequestToken 请求库存中心token
     * @param orderInfoDTO 销售订单信息DTO
     * @return 销售订单占用库存结果
     */
    ReturnResponseBean<OrderOccupyInfoVO> salesOrderOccupyStock(String stockRequestToken, OrderInfoDTO orderInfoDTO);

    /**
     * 取消销售订单占用库存接口
     *
     * @param stockRequestToken 请求库存中心token
     * @param orderNo 销售订单号
     * @return 销售订单占用库存结果
     */
    ReturnResponseBean cancelSalesOrderOccupyStock(String stockRequestToken, String orderNo);

    /**
     * 根据货品编码列表查询库存中心-销售层商品库存数量列表
     *
     * @param inventoryCodeList 货品编码列表
     * @return
     */
    ReturnResponseBean<List<SalesLevelInventoryStockInfoVO>> getRealSalesStockInfo(List<String> inventoryCodeList);

}
